package sn.esp.dic2.projets.game.demineur.model;

import java.io.Serializable;
import java.util.Arrays;

public class MeilleursScores implements Serializable {
	private Score tab[];
	private int nombre ;
	public MeilleursScores() {
		super();
		tab = new Score[10];
		nombre=0;
	}
	
	public Score[] getTab() {
		return tab;
	}

	public void setTab(Score[] tab) {
		this.tab = tab;
	}

	@Override
	public String toString() {
		return "MeilleursScores [tab=" + Arrays.toString(tab) + ", nombre="
				+ nombre + "]";
	}

	public void ajout (String nom, int nb, int duree, int taille, int nbMines){
		Score score = new Score(nom, nb, duree, taille, nbMines);
		if (nombre < 10){
			tab[nombre] = score ;
			nombre++; 
			boolean ok = false ;
			Score ech ;
			while (!ok){
				ok = true ;
				for (int i=0; i<nombre-1; i++){
					if (tab[i].score < tab[i+1].score){
						ech = tab[i];
						tab[i] = tab[i+1];
						tab[i+1] = ech;
						ok = false ;
					}
				}
			}
		} else{
			boolean ok = false ;
			Score ech ;
			while (!ok){
				ok = true ;
				for (int i=0; i>10-1; i++){
					if (tab[i].score < tab[i+1].score){
						ech = tab[i];
						tab[i] = tab[i+1];
						tab[i+1] = ech;
						ok = false ;
					}
				}
			}
			tab[9] = score ;
			System.out.println(tab.toString());
			ok = false ;
			while (!ok){
				ok = true ;
				for (int i=0; i>10-1; i++){
					if (tab[i].score < tab[i+1].score){
						ech = tab[i];
						tab[i] = tab[i+1];
						tab[i+1] = ech;
						ok = false ;
					}
				}
			}
			System.out.println(tab.toString());
		}
	}
	
	
	public class Score implements Serializable {
		private String nomJoueur;
		private int score, duree, taille, nbMines ;

		public Score(String nomJoueur, int score, int duree, int taille,
				int nbMines) {
			super();
			this.nomJoueur = nomJoueur;
			this.score = score;
			this.duree = duree;
			this.taille = taille;
			this.nbMines = nbMines;
		}

		public String getNomJoueur() {
			return nomJoueur;
		}

		public void setNomJoueur(String nomJoueur) {
			this.nomJoueur = nomJoueur;
		}

		public int getScore() {
			return score;
		}

		public void setScore(int score) {
			this.score = score;
		}

		public int getDuree() {
			return duree;
		}

		public void setDuree(int duree) {
			this.duree = duree;
		}

		public int getTaille() {
			return taille;
		}

		public void setTaille(int taille) {
			this.taille = taille;
		}

		public int getNbMines() {
			return nbMines;
		}

		public void setNbMines(int nbMines) {
			this.nbMines = nbMines;
		}
		
		@Override
		public String toString() {
			return "Score [nomJoueur=" + nomJoueur + ", score=" + score
					+ ", duree=" + duree + ", taille=" + taille + ", nbMines="
					+ nbMines + "]";
		}

	}
}
